1. Field of the Invention
The present invention relates generally to the World Wide Web (hereafter, “Web”). More particularly, the present invention relates to methods and systems for improving the efficiency of navigating through Web sites.
2. Description of the Related Art
The Web has evolved from being a repository of static files (Hypertext Markup Language (HTML), Graphic Interchange Format (GIF) and the like) to a very dynamic system with Web sites that span the gamut of possibilities, from multi-media sites that broadcast music on demand to e-commerce Web sites linking consumers and businesses or businesses to other businesses. With this evolution in usage, there has been a corresponding change in the nature of the content served by Web sites. Indeed, an increasing number of Web pages served by Web sites, especially e-commerce Web sites and portals, are dynamically generated.
Whether serving static or dynamic Web pages, Web servers tend to deliver Web pages on demand. That is, whenever the user selects (e.g., clicks on) a hyperlink, the request for that link is sent to the Web server for processing and the corresponding Web page is returned to the user, typically to be rendered on a display by the user's browser software. This process is not instantaneous and the user is made to wait during the time interval between the request and the delivery of the requested page. This interval includes a transit time from the user's computer to the Web server, server's processing time during which the request is received, processed and the requested page assembled and the transit time as the requested page is sent to the user. This interval may take as little as one second to over 10 seconds, depending upon the content requested, the traffic on the network coupling the user's computer and the Web server and the load on the Web server, among other variables. This request-response cycle is then repeated for each subsequent page or document requested by the user.
FIG. 1 illustrates such a conventional request-response cycle between a user's computer (the client in a client server architecture) and a remote server (the server in a client-server architecture). As shown therein, a user's computer 118 has accessed a Web page 115 from a Web server 102 over a computer network 101. The Web server 102 may be coupled to a database 103 that is accessed during the assembly of the requested Web pages. As shown at S1, the user, through the computer 118, makes a request for Page 3, by clicking or otherwise selecting hyperlink 135 on page 115 by means of cursor 112, for example. The request for Page 3 is transmitted across the network 101 and reaches the server 102 whereupon the request is processed, Page 3 is assembled by accessing database 103 (and/or other databases—to deliver advertisements, for example) and the assembled Page 3 is transmitted to the user's computer 118, as shown at S2. From the time that the user requested Page 3 at S1 to the time at which the requested Page 3 (shown at reference 116) was delivered back to the user's computer 118, an interval equal to t2−t1 has elapsed. For some time interval (equal to t3−t2), there may be no request for additional pages by the computer 118 to the Web server 102. During that interval, the user may be reading or otherwise assimilating Page 3, shown at 116. At time t3, the user in this example clicks or otherwise selects a hyperlink to Page 4 , shown at 136. Therefore, the computer 118 issues a request for Page 4 , shown at S3. The request is received by the server 102, processed and the requested Page 4 (shown at 117) is returned to the user's computer at S4 during the interval t4−t3. At some later time t5, the user may click on the hyperlink 137 to view Page 5 , which generates a request S5 and a response S6 during an interval t6−t5. As indicated by the dashed lines, the intervals between t3 and t2 and between t5 and t4 are essentially idle. That is, the user is viewing the requested pages during these periods and no Web pages are requested or sent from the server 102 to the user's computer 118. Moreover, each time a user requests a Web page, he or she must wait for the request to be generated, transmitted, processed and the response from the server received. These potentially long waits may be frustrating to the user and may decrease his or her browsing experience at the Web site services by the server. In the case of an e-commerce site, such long waits may also result customers defecting to more performing Web sites and lost sales.
What is needed, therefore, are methods and systems for more efficiently delivering content to users. More particularly, what are needed are methods and systems to efficiently utilize the currently underutilized resources of time and bandwidth.